DS4IR

Análise multivariada e modelos preditivos

Professor Davi Moreira

Professor Rafael Magalhães

28-07-2020

Programa

  • Tendências e resíduos
  • Modelos preditivos
  • Múltiplos modelos
  • Pontos ideais

Motivação

Qual foi o padrão de desenvolvimento dos países no século XX? Como conseguimos identificar a tendência principal dessa evolução. Talvez mais importante, como identificar os casos que não seguem a tendência geral?

A decomposição de resíduos e tendências pode nos ajudar a responder essas perguntas, e as ferramentas de programação funcional nos permitirão fazê-lo em bases de dados mais complexas do que as que vimos até agora.

Análise de modelos

Na aula passada, vimos o funcionamento de modelos lineares. Hoje vamos explorá-los um pouco mais, mostrando como podemos separá-los analiticamente em tendências e resíduos

A ideia é evitar usar modelos como caixas pretas, que produzem resultados que não entendemos. Por meio de um modelo quantitativo que inclui informações disponíveis nos dados e na sua experiência, podemos abstrair conclusões que podem ser aplicadas em novos contextos.

Primeiros passos

Vamos introduzir o tema com um modelo simples de um banco de dados já conhecido, a fim de responder à seguinte pergunta: por que diamantes de pior qualidade são os mais caros?

Prosseguiremos com um banco de dados didáticos para identificar padrões de alocação de voos internacionais. Com as ferramentas que aprendermos nesses dois exemplos, seremos capazes de montar modelos mais complexos para identificar padrões de desenvolvimento internacional.

Carregando as bases

Qualidade vs preço

Qualidade vs preço

Qualidade vs preço

Determinantes do preço

Diamantes om pior corte, clareza e pureza parecem ter preços similares aos dos seus pares por causa de uma variável omitida: o peso.

Determinantes do preço

A relação fica ainda mais clara quando fazemos uma transformação logaritmica nas variáveis

Eliminação do sinal

Agora que observamos uma relação linear entre peso e preço, podemos começar a trabalhar na nossa decomposição entre elementos de tendência e de resíduo.

Análise de resíduos

Uma vez que tiramos o componente linear dessa relação, os resíduos devem mostrar pouca associação entre peso e preço

Retorno: qualidade vs preço

Retorno: qualidade vs preço

Retorno: qualidade vs preço

Adicionando mais variáveis

O que vimos no exemplo anterior foi o processo de “controle” da variável peso, a fim de observar uma associação mais limpa entre a qualidade dos diamantes e seu preço. Como vimos ontem, podemos controlar por todas as variáveis ao mesmo tempo por meio da regressão.

Adicionando mais variáveis

Análise dos resíduos

Aparentemente, mesmo controlando por peso e quantidade, ainda há diamantes com preço maior do que o esperado!

Exercício

Quais são os diamantes com maiores e menores resíduos de acordo com o modelo multivariado?

Exercício: resposta

Padrões de voos em Nova York

Esta base de dados vai nos ajudar a enxergar a riqueza das ferramentas de previsão e identificação de tendências. Vamos partir de uma base rica sobre voos nos Estados Unidos, e transformá-la em um banco com apenas 365 linhas e 2 colunas, registrando o número de vôos que saem de Nova York todos os dias.

Transformação dos dados

Inspeção visual

Há um padrão claro nessa análise exploratória. Quais são os dias com queda tão forte de voos?

Voos por dia da semana

Identificação da tendência

Há um padrão claro de menos voos nos fins de semana. Vamos modelar?

Visualização dos resíduos

Análise dos resíduos

O que podemos ver nos resíduos?

  1. O modelo não está modelando bem o período de junho, com resíduos regularmente mais altos.

Análise dos resíduos

  1. Há alguns dias com bem menos voos do que o esperado

Análise dos resíduos

  1. Existe uma tendência de menos voos nos meses de inverno, pareada com maior frequência nos meses de verão

Centrando atenção nos sábados

Centrando atenção nos sábados

Existe uma alta clara no verão, mas o que acontece nos demais períodos? Vamos examinar:

Esse padrão se repete nos outros dias?

Análise da interação

Análise da interação

Podemos observar que os outliers não deixam a interação melhorar o modelo

Modelo robusto

Um modelo robusto melhora bastante nossa previsão

Ajustando mais de um modelo

Agora é pra valer!

Agora que temos as técnicas básicas, podemos fazer um exercício mais ambicioso. Vamos rodar vários modelos para entender um banco de dados mais complexo, com fenômenos parecidos com aqueles que costumamos estudar.

Isso vai exigir que a gente armazene resultados em estruturas mais sofisticadas. Assim, vamos conseguir separar tendências mais fortes nos dados para revelar padrões mais sutis, que talvez não pudéssemos capturar à primeira vista.

Vamos responder à seguinte pergunta: como a expectativa de vida evoluiu nos últimos anos em cada país?

Evolução por país

Você vê uma tendência?

Análise de um país

Análise de um país

Análise de um país

Mas e os demais?

Já vimos como decompor o resíduo quando temos apenas um caso. Mas como podemos identificar os países que não seguem a tendência geral que observamos? Temos que rodar um a um?

O princípio da preguiça nos dá a resposta: não.

Dados aninhados

Queremos repetir a mesma operação para diferentes observações na nossa base de dados (ou seja, decompor tendência e resíduo por país).

Vamos usar uma estrutura de dados que tem apenas uma linha para cada país, e uma coluna especial chamada data. Esta coluna é uma lista de dataframes (dentro do nosso dataframe!)

Dados aninhados

Se olharmos para o valor de apenas uma dessas listas, vemos que ela contem todas as informaçõs, por ano, daquele país.

Portanto, agora temos uma base de dados em que cada linha não é só uma observação; é um conjunto delas!

Adicionando mais uma lista

Para poder rodar nosso modelo em cada conjunto de observações, vamos criar uma nova função:

Agora, podemos usar a função purrr::map para aplicar nosso modelo a cada conjunto de observações. And just like that, temos uma segunda lista de data frames dentro do nosso data frame

Hora de sair do ninho

Neste ponto, nós temos 142 modelos na nossa base. Para fazer a análise de resíduos em todos eles, seguimos a mesma lógica:

Agora que já temos todos os cálculos que queríamos, podemos desaninhar os modelos para poder colocá-los em gráficos

Resíduos de todos os países

Separando por continente

Identificando os piores ajustes

Um olhar para a África

Um olhar para a África

Votações na AGNU

Para ilustrar o poder das técnicas de redução de dimensionalidade, vamos explorar a base de dados de votações nominais da Assembleia Geral das Nações Unidas desde 1946.

Temas mais comuns

Tendência de “Sim” para países selecionados

Tendência de votações do Brasil por tema

Ponto ideal do Brasil na UNGA

Distância do Brasil em relação a Argentina

Distância do Brasil em relação aos EUA

Material adicional

Tarefa da aula

As instruções da tarefa estão no arquivo NN-class-ds4ir-assignment.rmd da pasta assignment que se encontra na raiz desse projeto.